package com.yao.component.circle;

import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.NetworkImageView;
import com.yao.sdk.net.NetConstant;
import com.yao.sdk.util.Utils;

import java.util.ArrayList;
import java.util.List;

/**
 * Circle Photo 列表的数据适配器
 */
public class LocalPhotoListAdapter extends RecyclerView.Adapter<LocalPhotoListAdapter.ViewHolder> {



    private List<String> imageList = new ArrayList<>();

    public void setData(List<String> imageList) {
        if (Utils.isEmpty(imageList)) {
            return;
        }
        this.imageList = imageList;
    }

    /**
     * 通过ViewHolder可以访问每个item的所有控件
     */
    public static class ViewHolder extends RecyclerView.ViewHolder {
        //绑定每个CircleItem的控件引用到ViewHolder
        public ImageView circlePhoto;

        public ViewHolder(View v) {
            super(v);
            circlePhoto = (ImageView)v.findViewById(R.id.circle_photo);
        }
    }


    // 创建每个Item的视图 (invoked by the item_circle manager)
    @Override
    public LocalPhotoListAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
                                                   int viewType) {
        //创建circleItem所对应的控件
        View v = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.item_local_circle_photo, parent, false);
        // set the view's size, margins, paddings and item_circle parameters
        ViewHolder vh = new ViewHolder(v);

        return vh;
    }

    // Replace the contents of a view (invoked by the item_circle manager)
    @Override
    public void onBindViewHolder(final ViewHolder holder, int position) {

        //final Post circleItem = imageList.get(position);
        holder.circlePhoto.setImageBitmap(Utils.getDiskBitmap(imageList.get(position)));
    }

    // 获取Circle数据的item个数
    @Override
    public int getItemCount() {
        return imageList.size();
    }


}

